Copyright: Jean-Claude BELLAMY ® 1996
Citation: Manuel d'aide de SCANBIN


Index
S C A N B I N

	Un outil d'analyse  des fichiers exécutables et des librairies   WINDOWS™ !
Généralités	Utilisation	Licence
Fonctionnalités principales Environnement Les fichiers binaires	Installation Exécution Commandes	Conditions d'utilisation


Fonctionnalités principales

On est (très) souvent confronté au problème de savoir quelles sont les librairies dynamiques utilisées par un logiciel donné, essentiellement dans les cas suivants :

•	déplacement vers un autre répertoire (ou disque)

•	désinstallation

•	dysfonctionnement

Par exemple, certaines applications peuvent ne pas fonctionner parce que la version d'une librairie dont elles ont besoin est trop ancienne, ou ne contient pas les fonctions nécessaires.

Par ailleurs, il est parfois nécessaire aux développeurs d'applications de connaitre le nom de la librairie dans laquelle est localisée une fonction donnée (problèmes rencontrés au cours de l'édition de liens par exemple).

SCANBIN a pour but d'analyser la structure de tout fichier binaire fonctionnant sous environnement Windows.

Cette analyse porte essentiellement sur :

•	Les informations générales de version et de nom du fichier

•	La liste des librairies dynamiques appelées

•	La liste des fonctions importées

•	La liste des fonctions exportées (cas des librairies)

•	La liste des ressources

De plus, SCANBIN permet d'effectuer les opérations suivantes :

•	exploration "inverse", c'est-à-dire rechercher toutes les applications qui appellent une librairie donnée.

•	analyse de tous les modules binaires actifs (chargés en mémoire) à un instant donné

•	liste de toutes les librairies présentes sur tout ou partie de disques.

SCANBIN est doté de fonctionnalités particulières de haut niveau qui lui permettent :

•	d'analyser tous les fichiers binaires 16 bits ou 32 bits quel que soit l'environnement (16 ou 32 bits)

•	de détecter la présence de l'API Win32S (avec analyse de la librairie système spéciale W32SCOMB.DLL)

•	de détecter la version "réelle" du système (sous Windows NT)

•	de gérer et afficher automatiquement les noms longs de fichiers (sous Windows 95 et Windows NT)

•	d'être multilingue (français et, pour l'instant, anglais), l'affichage des menus, messages, boites de dialogues s'effectuant automatiquement dans la langue en cours sous Windows.

•	de gérer automatiquement les alias de librairies (kernel, network, mouse, ...)


Environnement

SCANBIN est une application de type "16 bits" qui fonctionne sous les environnements suivants :

•	Windows 3.1x (mode étendu)

•	Windows 3.1x + l'API Win32S

•	Windows 95

•	Windows NT (3.5x)

Le processeur utilisé doit être au minimum du type 80386 et la quantité de mémoire vive disponible doit être supérieure ou égale à 4 Mo. par contre, la place nécessaire sur le disque dur est inférieure à 1 Mo.

L'usage de la souris est fortement recommandé.

Le choix du mode d'adressage (16bits) lui permet donc de fonctionner sous tous ces environnements, avec une version unique de logiciel.


Les fichiers binaires

Généralités

Les fichiers binaires Windows peuvent être répartis selon l'arborescence suivante :

Modules 16 bits		(Structure des fichiers 16 bits)
	Exécutables
	Librairies
Modules 32 bits		(Structure des fichiers 32 bits)
	Exécutables
	Librairies

Un exécutable contient un programme principal, qui peut être exécuté depuis un gestionnaire ("progman", "winfile", "explorer",...) ou depuis un autre exécutable.

Une librairie ne contient pas de programme principal. Elle ne peut pas être exécutée de façon autonome. par contre, elle contient un certain nombre de fonctions (sous-programmes) qui peuvent être appelés et partagés par d'autres exécutables ou librairies chargés en mémoire.

L'intérêt d'une librairie (dite "dynamique" car chargée en mémoire au moment où cela est nécessaire, puis déchargée lorsqu'il n'y a plus aucun autre module qui ne l'utilise) est essentiellement :

•	éviter la multiplication de portions de codes identiques qui occuperaient autant de place tant sur disque (fichiers sources et fichiers compilés) qu'en mémoire vive.

•	garantir une mise à jour uniforme de tous les modules qui utilisent les mêmes fonctions

•	découpler une application des fonctions "standard" qu'elle utilise (boites de dialogue d'ouverture de fichier, tracés graphiques, ...)

Mode d'adressage

L'adressage (de données et de codes) peut s'effectuer :

•	sur 16 bits. C'est le mode initial utilisé par Windows 3.x. Son usage est assez complexe, cela étant du essentiellement  aux problèmes posés par la compatibilité ascendante avec l'adressage sur 20 bits des premiers microprocesseurs de PC. Succintement, une adresse est définie par un pointeur composé de 2 mots de 16 bits, le mot de poids faible représentant un offset (sur un segment de 64 ko) , le mot de poids fort pointant vers une zone  mémoire codéee sur 32 bits.

•	sur 32 bits. C'est le mode utilisé par Windows NT au départ, puis par l'extension Win32S, et dernièrement par Windows 95. L'adressage est très simple, puisque linéaire sur 32 bits. Par contre, il n'est pas compatible (directement) avec les anciennes applications. En particulier, un exécutable 32 bits ne peut pas faire appel (directement) à une librairie 16 bits, et inversement.

Extensions

Un fichier exécutable est repérable à son extension, qui peut être :

•	exe (cas le plus fréquent)

•	scr  (économiseurs d'écrans)

Une librairie dynamique peut avoir différentes extensions :

•	dll (cas le plus fréquent)

•	drv (concerne les librairies liées à des périphériques, comme les drivers d'écran, de souris, d'imprimante...)

•	cpl (module utilisé dans le panneau de configuration de Windows)

•	vbx (librairies générées en Visual Basic)

•	wll (librairies utilisées par Word pour Windows)

•	exe (concerne les librairies principales de Windows : kernel, gdi et user)

On constate donc que l'extension d'un fichier ne permet pas de connaitre exactement son type, ni son mode d'adressage. Par contre, ces informations sont parfaitement définies à l'intérieur du fichier, que SCANBIN sait analyser.


Entête MS-DOS

Début du fichier	Offset (hexa)
MS-DOS Header Info	0000	Signature "MZ" (5A4Dh)
Windows flag	0018	Si cet octet est >= 40h, le mot situé en 003C est l'offset de l'entête Windows
Reserved	0020
Windows offset	003C	Offset de "Windows Header"
MS-DOS stub program	0040	application DOS qui affiche un message lorsque  le fichier n'est pas exécuté sous Windows.
Windows Header	variable
.......

NB: Le nom de la signature "MZ" est l'abréviation de "Mark Zbikowski" (développeur Microsoft)


Fichiers 16 bits

Chaque fichier est composé successivement :

•	d'une entête MS-DOS

•	d'une entête Windows (16 bits)

•	des segments de code et données (16 bits)


Entête Windows 16 bits

MS-DOS header
Information block	Signature "NE" (454Eh) Version de link, de système,... Information si librairie ou non Offsets des tables
Segments table	Description de chaque segment data/code,  moveable/fixed relocation data,...
Resources table	Description des ressources accelerator/bitmap/cursor/...
Residents table	Table des noms de fonctions exportées (résidents en mémoire)
Modules table	Table des noms des librairies utilisées
Imports table	Table des noms de librairies utilisées et de fonctions importées
Entries tables	Description des points d'entrée dans le module
Nonresidents table	Table des noms de fonctions exportées (non résidents en mémoire)
Code and data segments

Remarques :

Les "Residents table" et "Nonresidents table" ne sont utilisées que lorsque des fonctions sont "exportées", ce qui est le cas essentiellement des librairies. (il existe quelques programmes exécutables qui exportent des fonctions. C'est le cas, par exemple, de Winword)

NB: Le nom de la signature "NE" est l'abréviation de "New Executable"


Fichiers 32 bits

Chaque fichier est composé successivement

•	d'une entête MS-DOS

•	d'une entête Windows (32 bits)

•	des segments de code et données (32 bits)


Entête Windows 32 bits

MS-DOS header
PE File header	Signature "PE" (00004550h) Type de machine, nombre de sections,...
PE File optional header	Version link et système taille du code Offset du code (section .text) Offset des données (section .bss) Adresse des points d'entrée Répertoire d'informations (imports, exports, ressources,...)
.text section header	Entête de section  • Nom • Adresse virtuelle de chargement en mémoire  • Offset de la section dans le fichier • Caractéristiques
.bss section header	Entête de section
.rdata section header	Entête de section
.edata section header	Entête de section
.data section header	Entête de section
.rsrc section header	Entête de section
.idata section header	Entête de section
..........	(Autres entêtes éventuelles : .debug,...)
.text section	Section de code Table des points d'entrée
.bss section	Section de données non initialisées
.rdata section	Section de données en lecture seule
.edata section	Section des exports (pour une librairie)
.data section	Section des autres variables
.rsrc section	Section des ressources
.idata section	Section des imports (fonctions et librairies utilisées)
...........	(Autres sections éventuelles)
Code and data

Remarque : toutes les sections et leurs entêtes ne figurent pas obligatoirement dans un module. Par exemple, la section .edata ne sera présente que dans le cas où des fonctions sont exportées (librairie)

NB: Le nom de la signature "PE" est l'abréviation de "Portable Executable" (ce format ayant été conçu au départ pour Windows NT, qui est portable sur différentes plates-formes)


Installation

L'installation de SCANBIN est très simple. Elle peut être effectuée automatiquement à partir de la disquette d'installation ou par téléchargement en exécutant le fichier autoextractible SCANB.EXE, puis en suivant les indications de la procédure d'installation.

Après décompression et copie dans un répertoire quelconque, on obtient les fichiers suivants :

•	SCANBIN.EXE	exécutable

•	SCANBIN.HLP	fichier d'aide

•	JCB.DLL	librairie d'utilitaires, boites de dialogue communes,...

Les librairies dont SCANBIN a besoin directement sont les suivantes :

Nom	Emplacement standard
KERNEL.EXE	\WINDOWS\SYSTEM
USER.EXE	\WINDOWS\SYSTEM
GDI.EXE	\WINDOWS\SYSTEM
KEYBOARD.DRV	\WINDOWS\SYSTEM
SHELL.DLL	\WINDOWS\SYSTEM
COMMDLG.DLL	\WINDOWS\SYSTEM
TOOLHELP.DLL	\WINDOWS\SYSTEM
WIN87EMDLL	\WINDOWS\SYSTEM
CTL3D.DLL	\WINDOWS\SYSTEM
JCB.DLL	Répertoire de SCANBIN

Lors de la première exécution, 3 fichiers supplémentaires sont créés :

•	SCANBIN.CFG	fichier de configuration générale de SCANBIN (couleurs, polices,...)

•	SCANBIN.INI	fichier de configuration utilisateur (répertoires courants, affichages de fenêtres,...)

•	SCANBIN.LDB	base de données des librairies analysées

Si ces fichiers sont détruits par erreur, des configurations par défaut seront prises en compte

(la première analyse de fichier sera un peu plus longue, car nécessitant l'analyse préalable récursive des librairies du système :USER, GDI, KERNEL,...)


Exécution

L'analyse d'un module binaire par SCANBIN peut être exécutée de différentes façons :

•	par exécution directe de"scanbin.exe" depuis tout gestionnaire Windows ("progman", "winfile", "explorer", ...), suivie de la commande "Fichier/Ouvrir fichier binaire"

•	par association de fichiers. Par exemple, à l'aide du gestionnaire de fichiers (sous Windows 3.1x ou Windows NT 3.5x) ou de l'explorateur de fichiers (Windows 95), on peut associer les fichiers ayant l'extension "dll", "drv", "vbx" à scanbin.exe. A partir de cet instant, un double click sur un fichier ayant cette extension provoquera automatiquement le lancement de SCANBIN, suivi de l'analyse de ce fichier. Si SCANBIN est déja actif à cet instant, il y aura intégration des nouvelles fenêtres créees dans la même instance.

•	par "drag and drop" ("glisser - lacher") d'un fichier depuis le gestionnaire de fichiers (Windows 3.1x ou Windows NT 3.5x) ou depuis l'explorateur de fichiers (Windows 95). Il suffit de "lacher" le fichier sélectionné dans la fenêtre principale de SCANBIN.

Dans le cas d'une exécution directe, on peut ajouter dans la ligne de commande différents paramètres  :

•	le nom du fichier à analyser immédiatement

•	des options indiquant quelles informations on veut afficher ou non

imp	liste des fonctions importées

exp	liste des fonctions exportées

dll	liste des librairies utilisées

res	liste des ressources

tre	arborescence des librairies

hex	vidage hexadécimal du fichier

tab	tables de la structure

use	utilisation du fichier par d'autres applications

Exemple :

scanbin.exe c:\excel\excel.exe +imp +dll -res

= On désire analyser le fichier "c:\excel\excel.exe" et afficher la liste des imports, des librairies, par contre, on ne veut pas afficher la liste des ressources (au cas où cette liste serait demandée systématiquement dans les options de l'utilisateur)

NB: le signe "+" est facultatif. L'exemple ci-dessus aurait pu s'écrire :

scanbin.exe c:\excel\excel.exe imp dll -res

SCANBIN est une application possèdant une interface "MDI" (Multiple Documents Interface), qui se présente sous la forme d'une fenêtre principale, incluant plusieurs sous-ensembles de fenêtres "filles" (un sous-ensemble par fichier binaire analysé).


Vue générale

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Barre de menus

Cette barre est le moyen habituel pour effectuer les commandes du programme.


Barre de boutons

Cette barre offre un ensemble de raccourcis des commandes du programme, analogues en tout point à celles activées à partir de la barre de menu.


Sous-ensemble n°1 de fenêtres

Chaque sous-ensemble est composé d'une fenêtre principale, contenant des informations générales sur le module analysé, et de fenêtres secondaires spécifiques aux différentes analyses demandées.


Sous-ensemble n°2 de fenêtres

Chaque sous-ensemble est composé d'une fenêtre principale, contenant des informations générales sur le module analysé, et de fenêtres secondaires spécifiques aux différentes analyses demandées.


Commandes

Les commandes sont inventoriées en autant de catégories qu'il y a d'items dans la barre de menu principal ou de groupes de boutons dans la barre d'outils.

•	Fichier

•	Edition

•	Configuration

•	Outils

•	Affichage

•	Fenêtres

•	Aide


Commandes Fichier

Relatives à l'ouverture de fichier binaire, l'enregistrement d'informations, leur impression,...

Ouvrir fichier binaire

Sauver informations sous...

Imprimer...

Configuration page ...

Configuration imprimante...

Quitter

Commandes Edition

Commandes Configuration

Commandes Outils

Commandes Affichage

Commandes Fenêtres

Commandes Aide


Ouvrir fichier binaire

Raccourci clavier : <Maj>F2

Affiche une boite de dialogue standard de sélection de fichier.

Les extensions de fichier proposées sont les suivantes :

•	Modules exécutables : exe, scr

•	Librairies : dll, drv, cpl, vbx

•	Autres : *.*


Boite de dialogue d'ouverture de fichier

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Nom de fichier


Liste des fichiers


Liste des extensions de fichier


Nom de répertoire

(lecture seule)


Liste des répertoires


Liste des disques


Bouton OK

Valide la saisie des informations


Bouton Annuler

Annule l'opération et ferme la boite de dialogue


Bouton Réseau

Affiche la boite de dialogue de connexion d'un disque réseau.

NB: ce bouton n'apparait pas si le réseau n'a pas été installé.


Bouton Aide

Affiche la présente aide


Sauver informations
Sauver informations sous...

Raccourci clavier : <Alt>F2

Affiche une boite de dialogue standard de sélection de fichier. Les extensions de fichier proposées sont les suivantes :

•	Fichier texte (informations générales, listes des exports/imports,...) : txt

•	Fichier graphique (Arborescence des librairies) : wmf

•	Autres : *.*


Boite de dialogue d'enregistrement d'informations

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)

NB:

Le nom de fichier proposé par défaut est composé automatiquement de la façon suivante :

<Nom du module binaire analysé tronqué à 7 caractères> concaténé avec un chiffre compris

entre 0 et 8, suivi d'une extension de fichier, dépendant du type d'informations :

N	Type de fenêtre	Type de fichier	Extension
0	Informations générales	texte	.txt
1	Liste des imports	texte	.txt
2	Liste des exports	texte	.txt
3	Liste des DLL utlisées	texte	.txt
4	Liste des ressources	texte	.txt
5	Arborescence des DLL	métafichier Window	.wmf
6	Vidage hexadécimal	texte	.txt
7	Tables d'adresses	texte	.txt
8	Liste des utilisations de la librairie	texte	.txt

Exemple :

Fichier analysé : commdlg.dll

•	Liste des DLL utilisées 	=> commdlg3.txt

•	Arborescence des DLL	=> commdlg5.wmf


Imprimer

Affiche une boite de dialogue standard d'impression.

Sert à imprimer la fenêtre active (au premier plan dans SCANBIN).


Boite de dialogue d'impression

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Bouton Configuration

Affiche une boite de dialogue de configuration et choix d'imprimante.


Résolution

Ce champ sert à définir la résolution de l'imprimante (300 dpi, 150 dpi,...)


Nombre d'exemplaires


Impression dans un fichier

Permet de rediriger l'impression vers un fichier (pour une impression ultérieure). Cette fonctionnalité est souvent utilisée avec des impressions "PostScript"


Copies triées

Dans le cas d'une impression en multiples exemplaires, permet d'effectuer une sortie triée.


Configuration page
Configuration page...

Affiche une boite de dialogue de configuration de page. Elle permet de définir certains choix quant à l'impression des informations (titres, polices, bas de page,...)


Boite de dialogue configuration page

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Rubriques

Chaque page est partagée en 3 zones ou rubriques :

•	entête

•	bas de page

•	texte

pour lesquelles il est possible de chosir la police de caractère, ainsi que l'insertion automatique (sauf pour le corps du texte lui-même) d'informations telles que la date en cours, le nom du fichier, son type, le n° de page)


Contenu (entête ou bas de page)

Zone de saisie pour du texte qui sera répété dans l'entête ou le bas de page de chaque feuille. Ce texte peut contenir éventuellement les séquences suivantes :

•	#f	remplacée par nom du fichier

•	#t	remplacée par type du fichier

•	#p	remplacée par n° de page

•	#d	remplacée par date


Police

Affiche une boite de dialogue standard de choix de police de caractères


Boite de dialogue Police

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Police

Affiche la liste des polices disponibles et permet de choisir l'une d'entre elles.


Style de police

Liste des styles disponibles pour la police sélectionnée


Taille de police

Liste des tailles disponibles pour la police sélectionnée


Effets

Permet de barrer ou souligner


Exemple

Exemple de texte obtenu avec la police sélectionnée (+style, taille,...)


Couleur

Permet de choisir la couleur des caractères.


Insertion date

Ce bouton est masqué lorsque la rubrique "texte" est sélectionnée


Insertion n° de page

Ce bouton est masqué lorsque la rubrique "texte" est sélectionnée


Insertion nom de fichier

Ce bouton est masqué lorsque la rubrique "texte" est sélectionnée


Insertion type de fichier

Ce bouton est masqué lorsque la rubrique "texte" est sélectionnée


Configuration imprimante

Affiche une boite de dialogue de configuration et choix d'imprimante.


Boite de dialogue de configuration imprimante

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Imprimante par défaut

L'impression est dirigée vers l'imprimante standard en cours.


Imprimante spécifique

Permet de chosir une imprimante particulière (réseau,...)


Options

Affiche une boite de dialogue spécifique à l'imprimante choisie (paramètres PostScript, rendus graphiques, polices, ...)


Orientation du papier

Permet de choisir entre :

•	portrait 	= vertical

•	paysage	= horizontal


Format de la feuille

Permet de choisir le format de la feuille de papier (dépend de l'imprimante choisie)


Alimentation en papier

Permet de choisir le mode d'alimentation en papier (dépend de l'imprimante choisie)


Quitter

Raccourci clavier : F3


Commandes Edition

Relatives aux actions d'éditions dans une fenêtre d'informations

Copier

Début informations

Fin informations

Rechercher

Commandes Fichier

Commandes Configuration

Commandes Outils

Commandes Affichage

Commandes Fenêtres

Commandes Aide


Copier

Raccourci clavier : <Ctrl><Ins>

Copie la sélection en cours dans le presse-papier. Le format  retenu est  "texte" dans tous les cas sauf pour l'arborescence des librairies où le format est alors celui des métafichiers Windows ("wmf"=window metafile, graphique vectoriel redimensionnable)


Début informations

Raccourci clavier <Ctrl><Home>

Redessine la fenêtre de façon à afficher le début des informations


Fin informations

Raccourci clavier <Ctrl><Fin>

Redessine la fenêtre de façon à afficher la fin des informations


Rechercher

Affiche une boite de dialogue de recherche de chaine de caractères dans la fenêtre active.

(Est inactive dans le cas de l'arborescence des librairies)


Boite de dialogue de recherche

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Chaine à rechercher

Par défaut, cette chaine est initialisée par le mot qui est à l'emplacement du curseur d'édition


Mot entier

Lorsque cette case est cochée, il y a recherche de la chaine en tant que mot entier (par exemple, si l'on recherche "comm", les chaines "commdlg" ou "commctrl" ne seront pas retenues.


Majuscules/Minuscules

Lorsque cette case est cochée, il y a recherche de la chaine en respectant la casse typographique


Sens de recherche

Permet de choisir le sens de recherche de la chaine dans la fenêtre. Par défaut, l'exploration s'effectue vers le bas.


Domaine de recherche

La recherche de la chaine peut être effectuée à partir de l'emplacement du curseur ou sur l'ensemble de la fenêtre.


Rechercher

Déclenche la recherche.

Si elle s'est avérée positive, le nom du bouton change et devient "Poursuivre", qui permet alors d'effectuer une nouvelle recherche après cette occurence. Sinon, une boite de dialogue indique que la chaine n'a pas été trouvée.


Commandes Configuration

Relatives aux différentes configurations d'affichage, de tris, de répertoires, ...

Polices et couleurs...

Barre d'outils...

Tri des références par index

Tri des références par nom

Répertoires...

Extensions des noms de fichiers de DLL

Commandes Fichier

Commandes Edition

Commandes Outils

Commandes Affichage

Commandes Fenêtres

Commandes Aide


Polices et couleurs

Affiche une boite de dialogue de configuration. Elle permet de définir certains choix quant aux polices utilisées dans les différentes fenêtres, ainsi que les couleurs employées.


Boite de dialogue Polices et Couleurs

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Fenêtres

Liste de toutes les fenêtres disponibles


Effets

Affiche l'effet obtenu pour la fenêtre en cours en fonction des sélections de couleurs et police


Police

Affiche une boite de dialogue standard de choix de police de caractères


Boite de dialogue Police

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Police commune

Rend la police en cours commune à toutes les fenêtres.


Icône

Affiche l'icône relative à la fenêtre en cours


Voir

Permet de voir les effets obtenus par les sélections de polices et couleurs sur toutes les fenêtres présentes dans SCANBIN (choix non définitif tant que l'on n'a pas appuyé sur OK).


Couleur texte

Affiche une boite de dialogue standard de sélection de couleur pour le texte de la fenêtre sélectionnée.


Boite de dialogue Couleur

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Couleurs

permet une sélection visuelle de la couleur.


Couleurs personnalisées

Etend la boite de dialogue afin d'afficher une sélection de couleur personnalisée ("RVB",...)


Couleur fond

Affiche une boite de dialogue standard de sélection de couleur pour le fond de la fenêtre sélectionnée.


Couleur 1ère occurence

Affiche une boite de dialogue standard de sélection de couleur pour le fond de la 1ère occurence d'une librairie dans la fenêtre de l'arborescence.

Ce bouton n'apparait pas lorsqu'un autre type de fenêtre est sélectionné.


Couleur cadres et lignes

Affiche une boite de dialogue standard de sélection de couleur pour les cadres et lignes dans la fenêtre de l'arborescence.

Ce bouton n'apparait pas lorsqu'un autre type de fenêtre est sélectionné.


Barre d'outils

Affiche une boite de dialogue de configuration de la barre d'outils (boutons reprenant les commandes du menu principal)


Boite de dialogue barre d'outils

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Barre horizontale

La barre s'adapte automatiquement à la taille de la fenêtre principale.


Barre verticale

La barre s'adapte automatiquement à la taille de la fenêtre principale.


Sans barre


Infos-bulles

Affiche ou non des "infos-bulles" sur les boutons lorsque le curseur de la souris passe dessus (cette information reprend le nom de la commande correspondante du menu principal)


Taille des boutons

Affiche une boite de dialogue de configuration des boutons de la barre.


Boite de dialogue taille des boutons barre d'outils

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Hauteur et largeur des boutons

Les boutons "spin" permettent de choisir les tailles des boutons exprimées en pixels.


Largeur du séparateur

Le bouton "spin" permet de fixer l'espacement entre deux groupes de boutons (correspondant à un item principal du menu) exprimé en une fraction de largeur de bouton.


Valeurs par défaut

L'action sur ce bouton permet de rétablir les tailles des boutons de la barre d'outils et l'espacement entre les groupes à des valeurs "standard".


Tri des références par index

L'action sur ce bouton entraine le classement des fonctions (API exportées ou importées) par index (numéros des API dans les différentes librairies). Il s'ensuit un réaffichage éventuel de toutes les fenêtres concernées.


Tri des références par nom

L'action sur ce bouton entraine le classement des fonctions (API exportées ou importées) par nom (noms des API dans les différentes librairies). Il s'ensuit un réaffichage éventuel de toutes les fenêtres concernées.


Répertoires

Affiche une boite de dialogue destinée à indiquer les répertoires du ou des disques à explorer.


Boite de dialogue des répertoires

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Liste des répertoires

Affiche la liste de tous les répertoires qui sont explorés :

1) lors de l'analyse d'un module (librairies utilisées et autres modules utilisant ce module).

2) lors de la recherche d'une API. dans l'examen de la base de données des DLL


Ajouter un répertoire

Permet d'ajouter un répertoire à la liste. Affiche une boite de dialogue standard de sélection d'un répertoire.


Boite de dialogue répertoire

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Oter un répertoire

Permet de supprimer le répertoire sélectionné dans la liste.


Liste par défaut

Construit la liste en incluant :

•	le répertoire de Windows

•	le répertoire système de Windows

•	éventuellement, le répertoire de Win32S

•	tous les répertoires contenus dans la variable d'environnement PATH si la case correspondante a été cochée.

Les doublons éventuels sont supprimés (par exemple, cas où le répertoire de Windows

est compris dans la variable PATH)


Inclure les sous-répertoires

Si cette case est cochée, tous les sous-répertoires éventuels des répertoires de la liste seront explorés lors des analyses de modules binaires.


Inclure la variable PATH

Si cette case est cochée, tous les répertoires contenus dans la variable d'environnement "PATH" seront ajoutés à la liste des répertoires, lesquels seront explorés lors des analyses de modules binaires.

Les doublons éventuels sont supprimés (par exemple, cas où le répertoire de Windows

est compris dans la variable PATH)


Extensions des noms de fichiers de DLL

Affiche une boite de dialogue permettant d'établir une liste d'extensions de fichiers qui est utilisée pour :

•	effectuer les recherches de modules utilisant une librairie donnée

•	rechercher l'emplacement d'une API dans les fichiers possèdant l'une de ces extensions.

•	afficher la liste des DLL sur disque

La 1ère fois que SCANBIN est utilisé, les extensions retenues sont :

.dll

.drv

.vbx


Boite de dialogue Extensions des noms de fichiers de DLL

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Extensions courantes

Cocher la ou les cases correspondant aux extensions des fichiers à analyser.

Les extensions affichées sont les plus courantes.


Autres extensions

Dans le cas où l'on désire analyser des fichiers n'ayant pas l'une des extensions courantes, cocher cette case et indiquer dans le champ de saisie associé la liste des autres extensions séparées par des points-virgules.(exemple : *.xxx;*.abc;*.zzz )


Commandes Outils

Relatives aux outils disponibles dans l'application

Base de données DLL...

Liste des modules actifs...

Liste des DLL sur disque

Commandes Fichier

Commandes Edition

Commandes Configuration

Commandes Affichage

Commandes Fenêtres

Commandes Aide


Base de données DLL

Affiche une boite de dialogue permettant la consultation et/ou la modification de la base de données des librairies. SCANBIN crée et met à jour automatiquement cette base, qu'il utilise au cours des analyses des différents modules binaires. La présence de cette base permet d'accroitre les performances de traitement.

Elle contient une liste de toutes les librairies déja analysées, avec, pour chacune d'elles :

•	les informations (éventuelles) de version

•	la localisation sur disque

•	la liste des fonctions exportées (API)

•	la liste des librairies et des fonctions importées

•	le fichier d'aide (éventuel) associé


Boite de dialogue base de données DLL

Cette boite de dialogue permet de :

•	modifier manuellement la base, par réactualisation des informations (dans le cas où l'on a rechargé une nouvelle version d'une DLL, ou désinstallé une application)

•	indiquer le nom du fichier d'aide associé (utile pour les développeurs)

•	rechercher une fonction dont on ignore le nom exact et/ou la librairie dans laquelle elle se trouve

•	afficher directement l'aide sur une fonction donnée (à la condition qu'un fichier d'aide ait été associé au préalable à la librairie correspondante)

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Liste des librairies

Cette combo-box contient la liste de toutes les librairies déja analysées, et permet de sélectionner une librairie donnée. Relativement à cette librairie est affiché son type (16 ou 32 bits), ainsi que la date de la dernière analyse (afin, éventuellement, de réactualiser cette analyse au cas où on aurait installé une nouvelle version)


Liste des fonctions de la librairie

Cette liste affiche l'ensemble des fonctions exportées par la librairie sélectionnée, ainsi que l'index de ces fonctions. Ces fonctions sont triées soit par nom, soit par index.

En effectuant un double-click sur l'une d'entre elles, on provoque l'affichage de l'aide associée à cette fonction de cette librairie (sous réserve d'avoir indiqué au préalable le fichier d'aide correspondant).

Exemple :

•	Librairie sélectionnée	: USER32.DLL

•	Fonction sélectionnée 	: CreateIcon

•	Fichier d'aide associé 	: WIN32.HLP

Un double-click sur "CreateIcon" entraine l'affichage suivant :


Liste des DLL appelées

Contient la liste des librairies directement appelées par la librairie sélectionnée.

Un double-click sur l'une d'entre elles entraine sa sélection dans la combo-box de liste des librairies de la base.


Nom du fichier binaire correspondant

Ce champ contient le nom (chemin complet) du fichier binaire contenant la librairie sélectionnée (ce champ n'est pas modifiable par l'utilisateur)


Informations diverses

Cette zone est affichée ou non suivant la librairie sélectionnée. Les informations sont obtenues à partir de la ressource "VersionFileInfo", qui n'est pas présente systématiquement dans les librairies.

Elle contient les renseignement suivants :

•	Description

•	Version

•	Copyright

•	Organisation


Fichier d'aide associé

Ce champ facultatif est à remplir (une fois pour toutes) par l'utilisateur pour chaque librairie.Il est surtout utile pour les développeurs, qui ont besoin de consulter rapidement de l'aide sur une fonction donnée. Il est en lecture seule.

Sa saisie s'effectue par action sur le bouton Parcourir, qui entraine l'ouverture d'une boite de dialogue standard d'ouverture de fichier (dans ce cas précis, l'extension par défaut des fichiers est HLP).

Si l'on désire effacer ce champ, il suffit d'actionner le bouton Supprimer (NB:le fichier d'aide n'est évidemment en aucune façon affecté par cette action)


Ajouter librairie

L'action sur ce bouton entraine l'ouverture d'une boite de dialogue standard d'ouverture de fichier, permettant de choisir une nouvelle librairie à analyser et ajouter à la base.


Oter librairie

Entraine la suppression de la librairie sélectionnée dans la base de données. Une confirmation de la suppression est demandée :

Si l'on répond Oui à la suppression par erreur, il est toujours possible d'ajouter à nouveau cette librairie par action sur le bouton Ajouter


Analyser

Entraine l'analyse de la librairie sélectionnée et donc mise à jour des informations, pour autant que l'analyse précédente ait eu lieu au cours d'une autre session (précédente) de SCANBIN. L'analyse portera :

•	uniquement sur la librairie sélectionnée

•	sur la librairie et toutes celles qu'elle appelle

suivant l'état du bouton Récursive.

Dans le cas où le répertoire de la librairie a été modifié, et n'est pas dans la liste des répertoires, un message est affiché, demandant de préciser la localisation de cette librairie.


Boite de dialogue Librairie non trouvée

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Nom de librairie non trouvée

Ce champ (non modifiable) contient le nom de la librairie (sans extension) que SCANBIN n'a pas pu localiser sur le disque.


Emplacement

A l'aide du bouton Parcourir, sélectionner dans la boite de dialogue qui s'affiche le répertoire dans lequel doit se trouver la librairie à analyser. Ce répertoire sera alors ajouté automatiquement à la liste des répertoires.


Ignorer

L'analyse de la librairie n'est pas effectuée. Cela pourra se traduire par des points d'interrogation dans la liste des fonctions importées depuis cette librairie par un autre module binaire.


Tout analyser

Entraine l'analyse de toutes les librairies de la base et donc mise à jour des informations, pour autant que l'analyse précédente ait eu lieu au cours d'une autre session (précédente) de SCANBIN. L'analyse portera :

•	uniquement sur les librairies de la base

•	sur les librairies et toutes celles qu'elles appellent

suivant l'état du bouton Récursive.

Dans le cas où le répertoire d'une librairie a été modifié, et n'est pas dans la liste des répertoires, un message est affiché, demandant de préciser la localisation de cette librairie.


Analyse récursive

Permet de choisir le type d'analyse de chaque base :

•	récursive 	: analyse de la base sélectionnée et toutes les bases qu'elle appelle (y compris, à leur tour, celles qui sont appelées par ces bases, etc...). Ce traitement est complet, mais peut s'avérer long dans certains cas.

•	non récursive 	: analyse seule de la base sélectionnée


Chercher API

Entraine l'affichage d'une boite de dialogue permettant la saisie du nom d'une fonction (API) dont on recherche la localisation (seulement dans la base ou non).


Boite de dialogue Recherche d'API

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)

Si la recherche n'a pas abouti, il y affichage d'un message d'erreur :


Nom d'API

Introduire le nom de l'API recherchée.

Ce nom peut être partiel ou entier, suivant que la case "Mot entier" est cochée ou non.  Dans tous les cas, la saisie de ce nom peut s'effectuer indifféremment en majuscules et/ou minuscules.


Mot entier

Cocher cette case pour rechercher une API ayant strictement le même nom (option par défaut).

Par exemple, si l'on recherche "GetWindow" avec cette case non cochée, la recherche aboutira sur "GetWindowLong" (alors qu'il existe également "GetWindowText", "GetWindowWord", ...).


Recherche seulement dans la base

Cocher cette case si l'on désire limiter la recherche seulement dans les librairies de la base de données existante (option par défaut).

Par contre, si cette case n'est pas activée, la recherche s'effectuera :

1) d'abord dans la base (rapide)

2) puis, si la phase précédente n'a pas abouti, dans TOUS les modules binaires ayant l'une des extensions prévues dans la configuration de l'application de TOUS les répertoires actifs de recherche. Cette opération peut être longue, surtout si la liste de répertoires inclut les sous-répertoires. Il est possible de l'interrompre à tout moment à l'aide du bouton


Sauver

Enregistre dans un fichier l'ensemble des informations contenues dans la base de données. (Ce fichier est situé dans le même répertoire que celui contenant SCANBIN, et s'appelle SCANBIN.LDB)


Quitter

Ferme la boite de dialogue, en affichant éventuellement un message informant que la base a été modifiée, et demandant si l'on désire effectuer un enregistrement de la base :


Liste des modules actifs

Affiche une boite de dialogue donnant la liste de tous les modules binaires 16 et 32 bits chargés en mémoire à l'instant présent.


Boite de dialogue Liste des modules actifs

(Explorez par un click de la souris les différentes régions de l'image pour avoir des commentaires)


Type de module

Cette combo-box permet de classer les modules actifs suivant 4 catégories :

•	exécutables 16 bits

•	exécutables 32 bits

•	librairies 16 bits

•	librairies 32 bits

La liste reflète le sous-ensemble des modules de type correspondant.


Nombre de modules

Ce champ (non modifiable) indique le nombre de modules du type sélectionné par rapport au nombre total de modules.


Liste des modules

Cette liste contient l'ensemble des modules, du type sélectionné, chargés en mémoire à l'instant présent.Un double-click sur l'un d'entre eux provoque l'analyse standard de ce module.


Chercher

Permet de retrouver un module donné dont on ignore le type, et de voir s'il est chargé ou non en mémoire. Une boite de dialogue pour sa saisie s'affiche alors :

Il suffit de taper le nom du module (extension facultative). Ce nom peut d'ailleurs être incomplet.

Si le module n'est pas actif (ou n'existe pas), il y a affichage d'un message :


Analyser

Entraine l'analyse du module sélectionné dans la liste.


Quitter

Ferme la boite de dialogue et retourne sous la fenêtre principale de SCANBIN


Liste des DLL sur disque

Affiche une fenêtre contenant une liste récapitulative de toutes les DLL existantes dans les répertoires (conformément à la liste des répertoires et à la liste des extensions de noms de DLL)


Liste des DLL sur disque

Cette liste est constituée successivement :

•	de la liste des répertoires principaux explorés (avec mention éventuelle d'exploration des sous-répertoires)

•	de la liste des extensions de fichiers analysés.

•	de paragraphes relatifs à chaque répertoire exploré, dans lesquels on trouve, pour chaque DLL, les informations suivantes  :

•	le type de la DLL (16 ou 32 bits)

•	son nom (long sous Windows 95 et Windows NT)

•	la date de dernière modification du fichier

•	le numéro de version

•	une description de la DLL

NB: Les 2 dernières informations sont extraites de la ressource "VersionFileInfo", qui n'est pas présente systématiquement dans les librairies. Elles peuvent donc être absentes de la liste.

Dans cette fenêtre, par action d'un double-click sur une ligne décrivant une DLL, on provoque l'analyse standard de cette DLL


Commandes Affichage

Relatives aux différents types d'informations que l'application peut afficher

Références importées

Références exportées

Liste des DLL utilisées

Liste des ressources

Arborescence des DLL utilisées

Vidage hexadécimal

Tables d'adresses

Liste des utilisations de la DLL courante

Actualiser

Commandes Fichier

Commandes Edition

Commandes Configuration

Commandes Outils

Commandes Fenêtres

Commandes Aide


Références importées

Cette commande (par menu ou bouton) fonctionne en bistable (active /non active). Elle n'est effective qu'au moment d'une analyse suivante, ou par la commande (menu ou bouton) Actualiser.

Cette disposition permet de regrouper tous les traitements demandés (imports, exports, ressources, DLL,...) en une seule phase d'analyse.

Si elle n'est pas déja créée, il y a systématiquement affichage d'une fenêtre d'informations générales relatives au module analysé.

Cette commande permet l'affichage d'une fenêtre contenant la liste de toutes les fonctions importées par le module analysé.


Références importées

Cette fenêtre affiche la liste de toutes les fonctions importées par le module analysé, avec, pour chacune d'elles :

•	le nom de la librairie (sans extension)

•	l'index de la fonction dans la librairie

•	le nom de la fonction

Les fonctions sont triées soit par nom, soit par index.


Références exportées

Cette commande (par menu ou bouton) fonctionne en bistable (active /non active). Elle n'est effective qu'au moment d'une analyse suivante, ou par la commande (menu ou bouton) Actualiser.

Cette disposition permet de regrouper tous les traitements demandés (imports, exports, ressources, DLL,...) en une seule phase d'analyse.

Si elle n'est pas déja créée, il y a systématiquement affichage d'une fenêtre d'informations générales relatives au module analysé.

Cette commande permet l'affichage d'une fenêtre contenant la liste de toutes les fonctions exportées par le module analysé.


Références exportées

Cette fenêtre affiche la liste de toutes les fonctions exportées par le module analysé, avec, pour chacune d'elles :

•	l'index de la fonction dans la librairie

•	le nom de la fonction

Les fonctions sont triées soit par nom, soit par index.


Liste des DLL utilisées

Cette commande (par menu ou bouton) fonctionne en bistable (active /non active). Elle n'est effective qu'au moment d'une analyse suivante, ou par la commande (menu ou bouton) Actualiser.

Cette disposition permet de regrouper tous les traitements demandés (imports, exports, ressources, DLL,...) en une seule phase d'analyse.

Si elle n'est pas déja créée, il y a systématiquement affichage d'une fenêtre d'informations générales relatives au module analysé.

Cette commande permet l'affichage d'une fenêtre contenant la liste de toutes les librairies importées par le module analysé.


Liste des DLL utilisées

Cette fenêtre affiche la liste de toutes les librairies importées par le module analysé, classées en 2 catégories :

•	Les appels directs (librairies directement appelées par le module)

•	Les appels indirects (librairies appelées par l'intermédiaire d'autres librairies)


Liste des ressources

Cette commande (par menu ou bouton) fonctionne en bistable (active /non active). Elle n'est effective qu'au moment d'une analyse suivante, ou par la commande (menu ou bouton) Actualiser.

Cette disposition permet de regrouper tous les traitements demandés (imports, exports, ressources, DLL,...) en une seule phase d'analyse.

Si elle n'est pas déja créée, il y a systématiquement affichage d'une fenêtre d'informations générales relatives au module analysé.

Cette commande permet l'affichage d'une fenêtre contenant la liste de toutes les ressources contenues dans le module analysé.


Liste des ressources

Cette fenêtre affiche la liste de toutes les ressources contenues dans le module analysé, classées suivant le type de ressources (bitmaps, curseurs, icônes, stringtable,...), avec, pour chaque type :

•	Le nombre de ressources

•	La valeur hexadécimale

•	Le nom

•	La liste des identificateurs (valeurs numériques ou chaines de caratères)


Arborescence des DLL utilisées

Cette commande (par menu ou bouton) fonctionne en bistable (active /non active). Elle n'est effective qu'au moment d'une analyse suivante, ou par la commande (menu ou bouton) Actualiser.

Cette disposition permet de regrouper tous les traitements demandés (imports, exports, ressources, DLL,...) en une seule phase d'analyse.

Si elle n'est pas déja créée, il y a systématiquement affichage d'une fenêtre d'informations générales relatives au module analysé.

Cette commande permet l'affichage d'une fenêtre contenant l'arborescence générale des librairies appelées (directement ou indirectement) à partir du module analysé.


Arborescence des DLL utilisées

Cette fenêtre affiche l'arborescence générale des librairies appelées (directement ou indirectement) à partir du module analysé.

Le module apparait en haut à gauche,suivi des autres librairies.

Les noms des librairies suivent la convention suivante :

•	Majuscules + couleur spéciale pour la 1ère occurence d'apparition dans l'arbre

•	Minuscules + couleur du fond pour la 2ème (et suivantes) occurence.


Module initial


1ère occurence

Un click sur ce nom de librairie affiche un menu déroulant qui permet de l'analyser directement, sans passer par le menu principal.


Analyse standard

Cette commande provoque l'analyse dur module sélectionné avec toutes les options d'affichage en cours.


Nom (avec chemin complet) du module sélectionné


2ème (ou plus) occurence


Vidage hexadécimal

Cette commande (par menu ou bouton) fonctionne en bistable (active /non active). Elle n'est effective qu'au moment d'une analyse suivante, ou par la commande (menu ou bouton) Actualiser.

Cette disposition permet de regrouper tous les traitements demandés (imports, exports, ressources, DLL,...) en une seule phase d'analyse.

Si elle n'est pas déja créée, il y a systématiquement affichage d'une fenêtre d'informations générales relatives au module analysé.

Cette commande permet l'affichage d'une fenêtre contenant un vidage de l'ensemble du fichier.


Vidage hexadécimal

Cette fenêtre affiche un vidage de l'ensemble du fichier partagée en 3 zones :

•	adresses en hexadécimal (32 bits)

•	contenu en hexadécimal (8bits)

•	caractères (les caratères non imprimables sont remplacés par des points)


Tables d'adresses

Cette commande (par menu ou bouton) fonctionne en bistable (active /non active). Elle n'est effective qu'au moment d'une analyse suivante, ou par la commande (menu ou bouton) Actualiser.

Cette disposition permet de regrouper tous les traitements demandés (imports, exports, ressources, DLL,...) en une seule phase d'analyse.

Si elle n'est pas déja créée, il y a systématiquement affichage d'une fenêtre d'informations générales relatives au module analysé.

Cette commande permet l'affichage d'une fenêtre décrivant le contenu des entêtes DOS, Windows 16 ou 32 bits du module analysé.


Tables d'adresses

Cette fenêtre affiche le contenu des entêtes DOS, Windows 16 ou 32 bits du module analysé.


Liste des utilisations de la DLL courante

Cette commande (par menu ou bouton) fonctionne en bistable (active /non active). Elle n'est effective qu'au moment d'une analyse suivante, ou par la commande (menu ou bouton) Actualiser.

Cette disposition permet de regrouper tous les traitements demandés (imports, exports, ressources, DLL,...) en une seule phase d'analyse.

Si elle n'est pas déja créée, il y a systématiquement affichage d'une fenêtre d'informations générales relatives au module analysé.

Cette commande, qui n'aura d'effet que si le module analysé est une librairie, permet l'affichage d'une fenêtre indiquant les modules utilisant cette librairie.


Liste des utilisations de la DLL courante

Cette fenêtre affiche successivement :

•	Les répertoires explorés (correspondant à la liste des répertoires)

•	Les extensions des modules explorés (correspondant aux critères d'utilisation de DLL)

•	Les modules utilisant cette librairie, classés par types et par répertoires.


Actualiser

Raccourci clavier :<F9>

Cette commande provoque un "rafraichissement" ou une création des différentes fenêtres pour tous les modules en cours d'analyse. Les fenêtres concernées sont celles dont l'affichage a été demandé :

Références importées

Références exportées

Liste des DLL utilisées

Liste des ressources

Arborescence des DLL utilisées

Vidage hexadécimal

Tables d'adresses

Liste des utilisations de la DLL courante


Informations générales

Cette fenêtre est systématiquement affichée lors de toute analyse. Elle comprend des informations de version, taille du fichier, copyright, type de module, ...

Elle signale également la présence de certaines fonctions d'appel dynamique de modules binaires  (LoadLibrary, LoadLibraryEx32W, WinExec, ...). Dans ce cas, les listes des librairies et des fonctions importées peut être incomplètes, puisque les appels correspondants ne sont pas explicites dans le code du module.


Commandes Fenêtres

Relatives à la gestion visuelle des fenêtres internes à l'application

Cascade

Mosaïque

Ranger les icônes

Tout fermer

Tout réduire

Tout réouvrir

Commandes Fichier

Commandes Edition

Commandes Configuration

Commandes Outils

Commandes Affichage

Commandes Aide


Cascade

Cette commande place toutes les fenêtres non réduites (iconifiées) en cascade


Mosaïque

Cette commande place toutes les fenêtres non réduites (iconifiées) en mosaïque


Ranger les icônes

Cette commande aligne toutes les fenêtres réduites (iconifiées)


Tout fermer

Cette commande ferme toutes les fenêtres (sauf la fenêtre principale)


Tout réduire

Cette commande réduit (iconifie) toutes les fenêtres (sauf la fenêtre principale)


Tout réouvrir

Cette commande réouvre toutes les fenêtres réduites (iconifiées)


Commandes Aide

Relatives aux différentes commandes d'aide disponibles

Index

Aide contextuelle

Aide sur l'aide

A propos de SCANBIN...

Commandes Fichier

Commandes Edition

Commandes Configuration

Commandes Outils

Commandes Affichage

Commandes Fenêtres


Index

Raccourci clavier : <F1>

Affiche la première page de l'aide


Aide contextuelle

Raccourci clavier <Maj><F1>

Le curseur prend la forme suivante :

On passe alors en mode d'aide contextuelle. Toute sélection d'une commande avec le curseur va provoquer l'apparition de l'aide relative à cette commande.

Pour revenir au mode habituel, il suffit d'appuyer sur la touche Echappement (ESC) ou sur le bouton droit de la souris.

Celà est d'ailleurs rappelé par une boite de dialogue qui s'affiche la première fois que l'on appuie sur Maj-F1


Aide sur l'aide

Affiche l'aide (Microsoft) sur l'utilisation des fichiers d'aide en général


A propos de SCANBIN

Affiche une boite de dialogue donnant différentes informations sur :

•	SCANBIN (version, copyright,...)

•	WINDOWS (version, mémoire disponible, ressources)


Licence

Conditions d'utilisation

Ce logiciel a été entièrement conçu et écrit en Pascal Object par Jean-Claude BELLAMY.

Il possède le statut de "freeware" (en français "graticiel") ce qui se traduit par les clauses suivantes :

1.	Son usage est entièrement gratuit. Il est librement copiable, sous réserve que tous les fichiers

livrés avec la disquette d'installation soient distribués ensemble (*.EXE, *.DLL, *.HLP, ...).

2.	Il est formellement interdit de modifier les clauses de Copyright.

3.	L'auteur n'est pas responsable de dommage (hautement improbable) qui pourrait être causé par

l'utilisation de ce programme.

4.	L'auteur n'est pas tenu à remédier aux déficiences éventuelles de ce programme. Il se réserve

toutefois la possibilité d'y apporter les améliorations qu'il jugerait nécessaires.

5.	L'utilisation de ce logiciel est réservée à des fins personnelles, et en aucun cas commerciales.

6.	L'utilisation de  ce logiciel entraine de fait l'acceptation des précédentes clauses.

Noms et marques de produits cités dans le présent document :

•	"Windows 3.x", "Windows 95" et "Windows NT"    sont des marques déposées de MICROSOFT CORPORATION.

•	"Borland Pascal pour Windows" est une marque déposée de BORLAND INTERNATIONAL.

•	Les autres marques citées sont la propriété de leurs détenteurs respectifs.


L'auteur

Jean-Claude BELLAMY

(Ingénieur-chercheur en informatique)

J'ai écrit SCANBIN la fois :

•	par curiosité

•	par nécessité de résoudre les problèmes posés par certaines applications

•	par goût de la programmation en général

Cette application ("SCANBIN.EXE" et "JCB.DLL") a été écrite exclusivement en

Pascal orienté objet (Borland™).

Elle représente plus de 37000 lignes de code, réparties en une dizaine de

librairie et unités.

J'espère qu'elle saura se rendre utile auprès des développeurs et utilisateurs de Windows™.

Vous pouvez me joindre par E-mail aux adresses suivantes :

Sur Compuserve :

100060.2225@compuserve.com

ou	Jean_Claude_Bellamy@compuserve.com

Sur Microsoft Network :

Jean-Claude_Bellamy@msn.com